# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Starcraft 2 Template

game: Starcraft 2
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.
  game:
    Starcraft 2: 4.0.0 # Version of the world required for this yaml to work as expected.

Starcraft 2:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  start_inventory:
    # Start with these items. Use an amount of -1 to start with all copies of an item.
    {}

  disable_forced_camera:
    # Prevents the game from moving or locking the camera without the player's consent.
    'false': 0
    'true': 50

  skip_cutscenes:
    # Skips all cutscenes and prevents dialog from blocking progress.
    'false': 50
    'true': 0

  #######################
  # Difficulty Settings #
  #######################
  game_difficulty:
    # The difficulty of the campaign, affects enemy AI, starting units, and game speed.
    # 
    # For those unfamiliar with the Archipelago randomizer, the recommended settings are one difficulty level
    # lower than the vanilla game
    casual: 0
    normal: 50
    hard: 0
    brutal: 0

  game_speed:
    # Optional setting to override difficulty-based game speed.
    default: 50
    slower: 0
    slow: 0
    normal: 0
    fast: 0
    faster: 0

  starter_unit:
    # Unlocks a random unit at the start of the game.
    # 
    # Off: No units are provided, the first unit must be obtained from the randomizer
    # Balanced: A unit that doesn't give the player too much power early on is given
    # Any Starter Unit: Any starter unit can be given
    'off': 50
    balanced: 0
    any_starter_unit: 0

  required_tactics:
    # Determines the maximum tactical difficulty of the world (separate from mission difficulty).
    # Higher settings increase randomness.
    # 
    # Standard:  All missions can be completed with good micro and macro.
    # Advanced:  Completing missions may require relying on starting units and micro-heavy units.
    # Any Units: Logic guarantees faction-appropriate units appear early without regard to what those units are.
    #            i.e. if the third mission is a protoss build mission,
    #            logic guarantees at least 2 protoss units are reachable before starting it.
    #            May render the run impossible on harder difficulties.
    # No Logic:  Units and upgrades may be placed anywhere. LIKELY TO RENDER THE RUN IMPOSSIBLE ON HARDER DIFFICULTIES!
    #            Locks Grant Story Tech option to true.
    standard: 50
    advanced: 0
    any_units: 0
    no_logic: 0

  war_council_nerfs:
    # Controls whether most Protoss units can initially be found in a nerfed state, with upgrades restoring their stronger power level.
    # For example, nerfed Zealots will lack the whirlwind upgrade until it is found as an item.
    'false': 50
    'true': 0

  difficulty_curve:
    # Determines whether campaign missions will be placed with a smooth difficulty curve.
    # Standard: The campaign will start with easy missions and end with challenging missions.  Short campaigns will be more difficult.
    # Uneven: The campaign will start with easy missions, but easy missions can still appear later in the campaign.  Short campaigns will be easier.
    standard: 50
    uneven: 0

  #############################
  # Primary Campaign Settings #
  #############################
  mission_order:
    # Determines the order the missions are played in.  The first three mission orders ignore the Maximum Campaign Size option.
    # Vanilla (83 total if all campaigns enabled): Keeps the standard mission order and branching from the vanilla Campaigns.
    # Vanilla Shuffled (83 total if all campaigns enabled): Keeps same branching paths from the vanilla Campaigns but randomizes the order of missions within.
    # Mini Campaign (47 total if all campaigns enabled): Shorter version of the campaign with randomized missions and optional branches.
    # Blitz:  Missions are divided into sets. Complete one mission from a set to advance to the next set.
    # Gauntlet: A linear path of missions to complete the campaign.
    # Grid: Missions are arranged into a grid. Completing a mission unlocks the adjacent missions. Corners may be omitted to make the grid more square. Complete the bottom-right mission to win.
    # Golden Path: A required line of missions with several optional branches, similar to the Wings of Liberty campaign.
    # Hopscotch: Missions alternate between mandatory missions and pairs of optional missions.
    # Custom: Uses the YAML's custom mission order option. See documentation for usage.
    vanilla: 0
    vanilla_shuffled: 0
    mini_campaign: 0
    blitz: 0
    gauntlet: 0
    grid: 0
    golden_path: 50
    hopscotch: 0
    custom: 0

  maximum_campaign_size:
    # Sets an upper bound on how many missions to include when a variable-size mission order is selected.
    # If a set-size mission order is selected, does nothing.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 195
    83: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-195: 0 # random value between 1 and 195

  enabled_campaigns:
    # Determines which campaign's missions will be used.
    # Wings of Liberty, Prophecy, and Prologue are the only free-to-play campaigns.
    # Valid campaign names:
    # - 'Wings of Liberty'
    # - 'Prophecy'
    # - 'Heart of the Swarm'
    # - 'Whispers of Oblivion (Legacy of the Void: Prologue)'
    # - 'Legacy of the Void'
    # - 'Into the Void (Legacy of the Void: Epilogue)'
    # - 'Nova Covert Ops'
    ['Wings of Liberty']

  enable_race_swap:
    # Allow mission variants where you play a faction other than the one the map was initially
    # designed for. NOTE: Cutscenes are always skipped on race-swapped mission variants.
    # 
    # Disabled: Don't shuffle any non-vanilla map variants into the pool.
    # Pick One: Shuffle up to 1 valid version of each map into the pool, depending on other settings.
    # Pick One Non-Vanilla: Shuffle up to 1 valid version other than the original one of each map into the pool, depending on other settings.
    # Shuffle All: Each version of a map can appear in the same pool (so a map can appear up to 3 times as different races)
    # Shuffle All Non-Vanilla: Each version of a map besides the original can appear in the same pool (so a map can appear up to 2 times as different races)
    disabled: 50
    pick_one: 0
    pick_one_non_vanilla: 0
    shuffle_all: 0
    shuffle_all_non_vanilla: 0

  shuffle_no_build:
    # Determines if the no-build missions are included in the shuffle.
    # If turned off, the no-build missions will not appear. Has no effect for Vanilla mission order.
    'false': 0
    'true': 50

  ##############################
  # Optional Campaign Settings #
  ##############################
  key_mode:
    # Optionally creates Key items that must be found in the multiworld to unlock parts of the mission order,
    # in addition to any regular requirements a mission may have.
    # 
    # "Questline" options will only work for Vanilla, Vanilla Shuffled, Mini Campaign, and Golden Path mission orders.
    # 
    # Disabled: Don't create any keys.
    # Questlines: Create keys for questlines besides the starter ones, eg. "Colonist (Wings of Liberty) Questline Key".
    # Missions: Create keys for missions besides the starter ones, eg. "Zero Hour Mission Key".
    # Progressive Questlines: Create one type of progressive key for questlines within each campaign, eg. "Progressive Key #1".
    # Progressive Missions: Create one type of progressive key for all missions, "Progressive Mission Key".
    # Progressive Per Questline: All questlines besides the starter ones get a unique progressive key for their missions, eg. "Progressive Key #1".
    disabled: 50
    questlines: 0
    missions: 0
    progressive_questlines: 0
    progressive_missions: 0
    progressive_per_questline: 0

  shuffle_campaigns:
    # Shuffles the missions between campaigns if enabled.
    # Only available for Vanilla Shuffled and Mini Campaign mission order
    'false': 0
    'true': 50

  all_in_map:
    # Determines what version of All-In (WoL final map) that will be generated for the campaign.
    ground: 0
    air: 0
    random: 50

  two_start_positions:
    # If turned on and 'grid', 'hopscotch', or 'golden_path' mission orders are selected,
    # removes the first mission and allows both of the next two missions to be played from the start.
    'false': 50
    'true': 0

  selected_races:
    # Pick which factions' missions and items can be shuffled into the world.
    ['Zerg', 'Protoss', 'Terran']

  exclude_very_hard_missions:
    # Excludes Very Hard missions outside of Epilogue campaign (All-In, The Reckoning, Salvation, and all Epilogue missions are considered Very Hard).
    # Doesn't apply to "Vanilla" mission order.
    # 
    # Default: Not excluded for mission orders "Vanilla Shuffled" or "Grid" with Maximum Campaign Size >= 20,
    #          excluded for any other order
    # Yes: Non-Epilogue Very Hard missions are excluded and won't be generated
    # No: Non-Epilogue Very Hard missions can appear normally. Not recommended for too short mission orders.
    # 
    # See also: Excluded Missions, Enabled Campaigns, Maximum Campaign Size
    default: 50
    'true': 0
    'false': 0

  mission_race_balancing:
    # If enabled, picks missions in such a way that the appearance rate of races is roughly equal.
    # The final rates may deviate if there are not enough missions enabled to accommodate each race.
    # 
    # Disabled: Pick missions at random.
    # Semi Balanced: Use a weighting system to pick missions in a random, but roughly equal ratio.
    # Fully Balanced: Pick missions to preserve equal race counts whenever possible.
    disabled: 0
    semi_balanced: 50
    fully_balanced: 0

  #################
  # Unit Upgrades #
  #################
  ensure_generic_items:
    # Specifies a minimum percentage of the generic item pool that will be present for the slot.
    # The generic item pool is the pool of all generically useful items after all exclusions.
    # Generically-useful items include: Worker upgrades, Building upgrades, economy upgrades,
    # Mercenaries, Kerrigan levels and abilities, and Spear of Adun abilities
    # Increasing this percentage will make units less common.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  min_number_of_upgrades:
    # Set a minimum to the number of upgrade items a unit/structure can have.
    # Note that most units have 4 to 6 upgrades.
    # If a unit has fewer upgrades than the minimum, it will have all of its upgrades.
    # 
    # Doesn't affect shared unit upgrades.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 13
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-13: 0 # random value between 0 and 13

  max_number_of_upgrades:
    # Set a maximum to the number of upgrade items a unit/structure can have.
    # -1 is used to define unlimited.
    # Note that most units have 4 to 6 upgrades.
    # 
    # Doesn't affect shared unit upgrades.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is -1
    # Maximum value is 13
    -1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range--1-13: 0 # random value between -1 and 13

  max_upgrade_level:
    # Controls the maximum number of weapon/armor upgrades that can be found or unlocked.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 3
    # Maximum value is 5
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-3-5: 0 # random value between 3 and 5

  generic_upgrade_missions:
    # Determines the percentage of missions in the mission order that must be completed before
    # level 1 of all weapon and armor upgrades is unlocked.  Level 2 upgrades require double the amount of missions,
    # and level 3 requires triple the amount.  The required amounts are always rounded down.
    # If set to 0, upgrades are instead added to the item pool and must be found to be used.
    # 
    # If the mission order is unable to be beaten by this value (if above 0), the generator will place additional
    # weapon / armor upgrades into start inventory
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  generic_upgrade_research:
    # Determines how weapon and armor upgrades affect missions once unlocked.
    # 
    # Vanilla:  Upgrades must be researched as normal.
    # Auto In No-Build:  In No-Build missions, upgrades are automatically researched.
    # In all other missions, upgrades must be researched as normal.
    # Auto In Build:  In No-Build missions, upgrades are unavailable as normal.
    # In all other missions, upgrades are automatically researched.
    # Always Auto:  Upgrades are automatically researched in all missions.
    vanilla: 50
    auto_in_no_build: 0
    auto_in_build: 0
    always_auto: 0

  generic_upgrade_research_speedup:
    # If turned on, the weapon and armor upgrades are researched more quickly if level 4 or higher is unlocked.
    # The research times of upgrades are cut proportionally, so you're able to hit the maximum available level
    # at the same time, as you'd hit level 3 normally.
    # 
    # Turning this on will help you to be able to research level 4 or 5 upgrade levels in timed missions.
    # 
    # Has no effect if Maximum Upgrade Level is set to 3
    # or Generic Upgrade Research doesn't require you to research upgrades in build missions.
    'false': 50
    'true': 0

  generic_upgrade_items:
    # Determines how weapon and armor upgrades are split into items.
    # 
    # All options produce a number of levels of each item equal to the Maximum Upgrade Level.
    # The examples below consider a Maximum Upgrade Level of 3.
    # 
    # Does nothing if upgrades are unlocked by completed mission counts.
    # 
    # Individual Items:  All weapon and armor upgrades are each an item,
    # resulting in 18 total upgrade items for Terran and 15 total items for Zerg and Protoss each.
    # Bundle Weapon And Armor:  All types of weapon upgrades are one item per race,
    # and all types of armor upgrades are one item per race,
    # resulting in 18 total items.
    # Bundle Unit Class:  Weapon and armor upgrades are merged,
    # but upgrades are bundled separately for each race:
    # Infantry, Vehicle, and Starship upgrades for Terran (9 items),
    # Ground and Flyer upgrades for Zerg (6 items),
    # Ground and Air upgrades for Protoss (6 items),
    # resulting in 21 total items.
    # Bundle All:  All weapon and armor upgrades are one item per race,
    # resulting in 9 total items.
    individual_items: 50
    bundle_weapon_and_armor: 0
    bundle_unit_class: 0
    bundle_all: 0

  ############
  # Kerrigan #
  ############
  kerrigan_presence:
    # Determines whether Kerrigan is playable outside of missions that require her.
    # 
    # Vanilla: Kerrigan is playable as normal, appears in the same missions as in vanilla game.
    # Not Present:  Kerrigan is not playable, unless the mission requires her to be present.  Other hero units stay playable,
    #     and locations normally requiring Kerrigan can be checked by any unit.
    #     Kerrigan level items, active abilities and passive abilities affecting her will not appear.
    #     In missions where the Kerrigan unit is required, story abilities are given in same way as Grant Story Tech is set to true
    # 
    # Note: Always set to "Not Present" if Heart of the Swarm campaign is disabled.
    vanilla: 50
    not_present: 0

  grant_story_levels:
    # If enabled, grants Kerrigan the required minimum levels for the following missions:
    # Supreme: 35
    # The Infinite Cycle: 70
    # The bonus levels only apply during the listed missions, and can exceed the Total Level Cap.
    # 
    # If disabled, either of these missions is included, and there are not enough levels in the world, generation may fail.
    # To prevent this, either increase the amount of levels in the world, or enable this option.
    # 
    # If disabled and Required Tactics is set to no logic, this option is forced to Minimum.
    # 
    # Disabled: Kerrigan does not get bonus levels for these missions,
    #           instead the levels must be gained from items or beating missions.
    # Additive: Kerrigan gains bonus levels equal to the mission's required level.
    # Minimum: Kerrigan is either at her real level, or at the mission's required level,
    #          depending on which is higher.
    disabled: 0
    additive: 0
    minimum: 50

  kerrigan_levels_per_mission_completed:
    # Determines how many levels Kerrigan gains when a mission is beaten.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 20
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-20: 0 # random value between 0 and 20

  kerrigan_levels_per_mission_completed_cap:
    # Limits how many total levels Kerrigan can gain from beating missions.  This does not affect levels gained from items.  
    # Set to -1 to disable this limit.
    # 
    # NOTE: The following missions have these level requirements:
    # Supreme: 35
    # The Infinite Cycle: 70
    # See Grant Story Levels for more details.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is -1
    # Maximum value is 140
    -1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range--1-140: 0 # random value between -1 and 140

  kerrigan_level_item_sum:
    # Determines the sum of the level items in the world.  This does not affect levels gained from beating missions.
    # 
    # NOTE: The following missions have these level requirements:
    # Supreme: 35
    # The Infinite Cycle: 70
    # See Grant Story Levels for more details.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 140
    70: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-140: 0 # random value between 0 and 140

  kerrigan_level_item_distribution:
    # Determines the amount and size of Kerrigan level items.
    # 
    # Vanilla:  Uses the distribution in the vanilla campaign.
    # This entails 32 individual levels and 6 packs of varying sizes.
    # This distribution always adds up to 70, ignoring the Level Item Sum setting.
    # Smooth:  Uses a custom, condensed distribution of 10 items between sizes 4 and 10,
    # intended to fit more levels into settings with little room for filler while keeping some variance in level gains.
    # This distribution always adds up to 70, ignoring the Level Item Sum setting.
    # Size 70:  Uses items worth 70 levels each.
    # Size 35:  Uses items worth 35 levels each.
    # Size 14:  Uses items worth 14 levels each.
    # Size 10:  Uses items worth 10 levels each.
    # Size 7:  Uses items worth 7 levels each.
    # Size 5:  Uses items worth 5 levels each.
    # Size 2:  Uses items worth 2 level eachs.
    # Size 1:  Uses individual levels.  As there are not enough locations in the game for this distribution,
    # this will result in a greatly reduced total level, and is likely to remove many other items.
    vanilla: 0
    smooth: 50
    size_70: 0
    size_35: 0
    size_14: 0
    size_10: 0
    size_7: 0
    size_5: 0
    size_2: 0
    size_1: 0

  kerrigan_total_level_cap:
    # Limits how many total levels Kerrigan can gain from any source.
    # Depending on your other settings, there may be more levels available in the world,
    # but they will not affect Kerrigan.
    # Set to -1 to disable this limit.
    # 
    # NOTE: The following missions have these level requirements:
    # Supreme: 35
    # The Infinite Cycle: 70
    # See Grant Story Levels for more details.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is -1
    # Maximum value is 140
    -1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range--1-140: 0 # random value between -1 and 140

  start_primary_abilities:
    # Number of Primary Abilities (Kerrigan Tier 1, 2, and 4) to start the game with.
    # If set to 4, a Tier 7 ability is also included.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 4
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-4: 0 # random value between 0 and 4

  kerrigan_primal_status:
    # Determines when Kerrigan appears in her Primal Zerg form.
    # This greatly increases her energy regeneration.
    # 
    # Vanilla:  Kerrigan is human in missions that canonically appear before The Crucible,
    # and zerg thereafter.
    # Always Zerg:  Kerrigan is always zerg.
    # Always Human:  Kerrigan is always human.
    # Level 35:  Kerrigan is human until reaching level 35, and zerg thereafter.
    # Half Completion:  Kerrigan is human until half of the missions in the world are completed,
    # and zerg thereafter.
    # Item:  Kerrigan's Primal Form is an item. She is human until it is found, and zerg thereafter.
    vanilla: 50
    always_zerg: 0
    always_human: 0
    level_35: 0
    half_completion: 0
    item: 0

  kerrigan_max_active_abilities:
    # Determines the maximum number of Kerrigan active abilities that can be present in the game
    # Additional abilities may spawn if those are required to beat the game.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 12
    12: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-12: 0 # random value between 0 and 12

  kerrigan_max_passive_abilities:
    # Determines the maximum number of Kerrigan passive abilities that can be present in the game
    # Additional abilities may spawn if those are required to beat the game.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  #################
  # Spear of Adun #
  #################
  spear_of_adun_presence:
    # Determines in which missions Spear of Adun calldowns will be available.
    # Affects only abilities used from Spear of Adun top menu.
    # 
    # Not Present: Spear of Adun calldowns are unavailable.
    # Vanilla: Spear of Adun calldowns are only available where they appear in the basegame (Protoss missions after The Growing Shadow)
    # Protoss: Spear of Adun calldowns are available in any Protoss mission
    # Everywhere: Spear of Adun calldowns are available in any mission of any race
    # Any Race LotV: Spear of Adun calldowns are available in any race-swapped variant of a LotV mission
    not_present: 0
    vanilla: 50
    protoss: 0
    everywhere: 0
    any_race_lotv: 0

  spear_of_adun_present_in_no_build:
    # Determines if Spear of Adun calldowns are available in no-build missions.
    # 
    # If turned on, Spear of Adun calldown powers are available in missions specified under "Spear of Adun Presence".
    # If turned off, Spear of Adun calldown powers are unavailable in all no-build missions
    'false': 50
    'true': 0

  spear_of_adun_passive_ability_presence:
    # Determines availability of Spear of Adun passive powers.
    # Affects abilities like Reconstruction Beam or Overwatch.
    # Does not affect building abilities like Orbital Assimilators or Warp Harmonization.
    # 
    # Not Present: Autocasts are not available.
    # Vanilla: Spear of Adun calldowns are only available where it appears in the basegame (Protoss missions after The Growing Shadow)
    # Protoss: Spear of Adun autocasts are available in any Protoss mission
    # Everywhere: Spear of Adun autocasts are available in any mission of any race
    # Any Race LotV: Spear of Adun autocasts are available in any race-swapped variant of a LotV mission
    not_present: 0
    any_race_lotv: 0
    protoss: 0
    everywhere: 0
    vanilla: 50

  spear_of_adun_passive_present_in_no_build:
    # Determines if Spear of Adun autocasts are available in no-build missions.
    # 
    # If turned on, Spear of Adun autocasts are available in missions specified under "Spear of Adun Passive Ability Presence".
    # If turned off, Spear of Adun autocasts are unavailable in all no-build missions
    'false': 50
    'true': 0

  spear_of_adun_max_active_abilities:
    # Determines the maximum number of Spear of Adun active abilities (top bar) that can be present in the game
    # Additional abilities may spawn if those are required to beat the game.
    # 
    # Note: Warp in Reinforcements is treated as a second level of Warp in Pylon
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 13
    13: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-13: 0 # random value between 0 and 13

  spear_of_adun_max_passive_abilities:
    # Determines the maximum number of Spear of Adun passive abilities that can be present in the game
    # Additional abilities may spawn if those are required to beat the game.
    # Does not affect building abilities like Orbital Assimilators or Warp Harmonization.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 3
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-3: 0 # random value between 0 and 3

  ########
  # Nova #
  ########
  nova_max_weapons:
    # Determines maximum number of Nova weapons that can be present in the game
    # Additional weapons may spawn if those are required to beat the game.
    # 
    # Note: Nova can swap between unlocked weapons anytime during the gameplay.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  nova_max_gadgets:
    # Determines maximum number of Nova gadgets that can be present in the game.
    # Gadgets are a vanilla category including 2 grenade abilities, Stim, Holo Decoy, and Ionic Force Field.
    # Additional gadgets may spawn if those are required to beat the game.
    # 
    # Note: Nova can use any unlocked ability anytime during gameplay.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  nova_ghost_of_a_chance_variant:
    # Determines which variant of Nova should be used in Ghost of a Chance mission.
    # 
    # WoL: Uses Nova from Wings of Liberty campaign (vanilla)
    # NCO: Uses Nova from Nova Covert Ops campaign
    # Auto: Uses NCO if a mission from Nova Covert Ops is actually shuffled, if not uses WoL
    wol: 50
    nco: 0
    auto: 0

  #########################
  # Race Specific Options #
  #########################
  enable_morphling:
    # Determines whether the player can build Morphlings, which allow for inefficient morphing of advanced units
    # like Ravagers and Lurkers without requiring the base unit to be unlocked first.
    'false': 50
    'true': 0

  mercenary_highlanders:
    # If enabled, it limits the controllable amount of certain mercenaries to 1, even if you have unlimited mercenaries upgrade.
    # With this upgrade you can still call the mercenary again if it dies.
    # 
    # Affected mercenaries: Jackson's Revenge (Battlecruiser), Wise Old Torrasque (Ultralisk)
    'false': 0
    'true': 50

  ###################
  # Check Locations #
  ###################
  victory_cache:
    # Controls how many additional checks are awarded for completing a mission.
    # Goal missions are unaffected by this option.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  vanilla_locations:
    # Enables or disables checks for completing vanilla objectives.
    # Vanilla objectives are bonus objectives from the vanilla game,
    # along with some additional objectives to balance the missions.
    # Enable these locations for a balanced experience.
    # 
    # Enabled: Locations of this type give normal rewards.
    # Half Chance: Locations of this type have a 50% chance of being excluded.
    # Filler: Forces these locations to contain filler items.
    # Disabled: Removes item rewards from these locations.
    # 
    # Note: Individual locations subject to plando are always enabled, so the plando can be placed properly.
    # See also: Excluded Locations, Item Plando (https://archipelago.gg/tutorial/Archipelago/plando/en#item-plando)
    enabled: 50
    half_chance: 0
    filler: 0
    disabled: 0

  extra_locations:
    # Enables or disables checks for mission progress and minor objectives.
    # This includes mandatory mission objectives,
    # collecting reinforcements and resource pickups,
    # destroying structures, and overcoming minor challenges.
    # Enables these locations to add more checks and items to your world.
    # 
    # Enabled: Locations of this type give normal rewards.
    # Half Chance: Locations of this type have a 50% chance of being excluded.
    # Filler: Forces these locations to contain filler items.
    # Disabled: Removes item rewards from these locations.
    # 
    # Note: Individual locations subject to plando are always enabled, so the plando can be placed properly.
    # See also: Excluded Locations, Item Plando (https://archipelago.gg/tutorial/Archipelago/plando/en#item-plando)
    enabled: 50
    half_chance: 0
    filler: 0
    disabled: 0

  challenge_locations:
    # Enables or disables checks for completing challenge tasks.
    # Challenges are tasks that are more difficult than completing the mission, and are often based on achievements.
    # You might be required to visit the same mission later after getting stronger in order to finish these tasks.
    # Enable these locations to increase the difficulty of completing the multiworld.
    # 
    # Enabled: Locations of this type give normal rewards.
    # Half Chance: Locations of this type have a 50% chance of being excluded.
    # Filler: Forces these locations to contain filler items.
    # Disabled: Removes item rewards from these locations.
    # 
    # Note: Individual locations subject to plando are always enabled, so the plando can be placed properly.
    # See also: Excluded Locations, Item Plando (https://archipelago.gg/tutorial/Archipelago/plando/en#item-plando)
    enabled: 50
    half_chance: 0
    filler: 0
    disabled: 0

  mastery_locations:
    # Enables or disables checks for overcoming especially difficult challenges.
    # These challenges are often based on Mastery achievements and Feats of Strength.
    # Enable these locations to add the most difficult checks to the world.
    # 
    # Enabled: Locations of this type give normal rewards.
    # Half Chance: Locations of this type have a 50% chance of being excluded.
    # Filler: Forces these locations to contain filler items.
    # Disabled: Removes item rewards from these locations.
    # 
    # Note: Individual locations subject to plando are always enabled, so the plando can be placed properly.
    # See also: Excluded Locations, Item Plando (https://archipelago.gg/tutorial/Archipelago/plando/en#item-plando)
    enabled: 50
    half_chance: 0
    filler: 0
    disabled: 0

  basebust_locations:
    # Enables or disables checks for killing non-objective bases.
    # These challenges are about destroying enemy bases that you normally don't have to fight to win a mission.
    # Enable these locations if you like sieges or being rewarded for achieving alternate win conditions.
    # 
    # Enabled: Locations of this type give normal rewards.
    # Half Chance: Locations of this type have a 50% chance of being excluded.
    #   *Note setting this for both challenge and basebust will have a 25% of a challenge-basebust location spawning.
    # Filler: Forces these locations to contain filler items.
    # Disabled: Removes item rewards from these locations.
    # 
    # Note: Individual locations subject to plando are always enabled, so the plando can be placed properly.
    # See also: Excluded Locations, Item Plando (https://archipelago.gg/tutorial/Archipelago/plando/en#item-plando)
    enabled: 50
    half_chance: 0
    filler: 0
    disabled: 0

  speedrun_locations:
    # Enables or disables checks for overcoming speedrun challenges.
    # These challenges are often based on speed achievements or community challenges.
    # Enable these locations if you want to be rewarded for going fast.
    # 
    # Enabled: Locations of this type give normal rewards.
    # Half Chance: Locations of this type have a 50% chance of being excluded.
    #   *Note setting this for both challenge and speedrun will have a 25% of a challenge-speedrun location spawning.
    # Filler: Forces these locations to contain filler items.
    # Disabled: Removes item rewards from these locations.
    # 
    # Note: Individual locations subject to plando are always enabled, so the plando can be placed properly.
    # See also: Excluded Locations, Item Plando (https://archipelago.gg/tutorial/Archipelago/plando/en#item-plando)
    enabled: 50
    half_chance: 0
    filler: 0
    disabled: 0

  preventative_locations:
    # Enables or disables checks for overcoming preventative challenges.
    # These challenges are about winning or achieving something while preventing something else from happening,
    # such as beating Evacuation without losing a colonist.
    # Enable these locations if you want to be rewarded for achieving a higher standard on some locations.
    # 
    # Enabled: Locations of this type give normal rewards.
    # Half Chance: Locations of this type have a 50% chance of being excluded.
    #   *Note setting this for both challenge and preventative will have a 25% of a challenge-preventative location spawning.
    # Filler: Forces these locations to contain filler items.
    # Disabled: Removes item rewards from these locations.
    # 
    # Note: Individual locations subject to plando are always enabled, so the plando can be placed properly.
    # See also: Excluded Locations, Item Plando (https://archipelago.gg/tutorial/Archipelago/plando/en#item-plando)
    enabled: 50
    half_chance: 0
    filler: 0
    disabled: 0

  ##################
  # Filler Options #
  ##################
  filler_percentage:
    # Percentage of the item pool filled with filler items.
    # If the world has more locations than items, additional filler items may be generated.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 70
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-70: 0 # random value between 0 and 70

  minerals_per_item:
    # Configures how many minerals are given per resource item.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 200
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-200: 0 # random value between 0 and 200

  vespene_per_item:
    # Configures how much vespene gas is given per resource item.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 200
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-200: 0 # random value between 0 and 200

  starting_supply_per_item:
    # Configures how much starting supply per is given per item.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 16
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-16: 0 # random value between 0 and 16

  maximum_supply_per_item:
    # Configures how much the maximum supply limit increases per item.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  maximum_supply_reduction_per_item:
    # Configures how much maximum supply is reduced per trap item.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  lowest_maximum_supply:
    # Controls how far max supply reduction traps can reduce maximum supply.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 200
    180: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-200: 0 # random value between 50 and 200

  research_cost_reduction_per_item:
    # Controls how much weapon/armor research cost is cut per research cost filler item.
    # Affects both minerals and vespene.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  filler_items_distribution:
    # Controls the relative probability of each filler item being generated over others.
    # Items that are bound to specific race or option are automatically eliminated.
    # Kerrigan levels generated this way don't go against Kerrigan level item sum
    1 Kerrigan Level: 0
    Additional Maximum Supply: 1
    Additional Starting Minerals: 1
    Additional Starting Supply: 1
    Additional Starting Vespene: 1
    Decreased Maximum Supply: 0
    Increased Building Construction Speed: 1
    Increased Shield Regeneration: 1
    Increased Upgrade Research Speed: 1
    Reduced Upgrade Research Cost: 1

  ###########################
  # Inclusions & Exclusions #
  ###########################
  locked_items:
    # Guarantees that these items will be unlockable, in the amount specified.
    # Specify an amount of -1 to lock all copies of an item.
    {}

  excluded_items:
    # Guarantees that these items will not be unlockable, in the amount specified.
    # Specify an amount of -1 to exclude all copies of an item.
    {}

  unexcluded_items:
    # Undoes an item exclusion; useful for whitelisting or fine-tuning a category.
    # Specify an amount of -1 to unexclude all copies of an item.
    {}

  vanilla_items_only:
    # If turned on, the item pool is limited only to items that appear in the main 3 vanilla campaigns.
    # Weapon/Armor upgrades are unaffected; use max_upgrade_level to control maximum level.
    # Locked Items may override these exclusions.
    'false': 50
    'true': 0

  exclude_overpowered_items:
    # If turned on, a curated list of very strong items are excluded.
    # These items were selected for promoting repetitive strategies, or for providing a lot of power in a boring way.
    # Recommended off for players looking for a challenge or for repeat playthroughs.
    # Excluding an OP item overrides the exclusion from this item rather than add to it.
    # OP items may be unexcluded or locked with Unexcluded Items or Locked Items options.
    # Enabling this can force a unit nerf even if Allow Unit Nerfs is set to false for some units.
    'false': 50
    'true': 0

  excluded_missions:
    # Guarantees that these missions will not appear in the campaign
    # Doesn't apply to vanilla mission order.
    # It may be impossible to build a valid campaign if too many missions are excluded.
    []

  #####################
  # Advanced Gameplay #
  #####################
  mission_order_scouting:
    # Allow the Sc2 mission order client tabs to indicate the type of item (i.e., progression, useful, etc.) available at each location of a mission.
    # The option defines when this information will be available for the player.
    # By default, this option is deactivated.
    # 
    # None: Never provide information
    # Completed: Only for missions that were completed
    # Available: Only for missions that are available to play
    # Layout: Only for missions that are in an accessible layout (e.g. Char, Mar Sara, etc.)
    # Campaign: Only for missions that are in an accessible campaign (e.g. WoL, HotS, etc.)
    # All: All missions
    none: 50
    completed: 0
    available: 0
    layout: 0
    campaign: 0
    all: 0

  difficulty_damage_modifier:
    # Enables or disables vanilla difficulty-based damage received modifier
    # Handles the 1.25 Brutal damage modifier in HotS and Prologue and 0.5 Casual damage modifier outside WoL and Prophecy
    'false': 0
    'true': 50

  take_over_ai_allies:
    # On maps supporting this feature allows you to take control over an AI Ally.
    'false': 50
    'true': 0

  enable_void_trade:
    # Enables the Void Trade Wormhole to be built from the Advanced Construction tab of SCVs, Drones and Probes.  
    # This structure allows sending units to the Archipelago server, as well as buying random units from the server.  
    # 
    # Note: Always disabled if there is no other Starcraft II world with Void Trade enabled in the multiworld.  You cannot receive units that you send.
    'false': 50
    'true': 0

  void_trade_age_limit:
    # Determines the maximum allowed age for units you can receive from Void Trade.
    # Units that are older than your choice will still be available to other players, but not to you.
    # 
    # This does not put a time limit on units you send to other players. Your own units are only affected by other players' choices for this option.
    disabled: 0
    1_week: 0
    1_day: 0
    4_hours: 0
    2_hours: 0
    1_hour: 0
    30_minutes: 50
    5_minutes: 0

  void_trade_workers:
    # If enabled, you are able to send and receive workers via Void Trade.
    # 
    # Sending workers is a cheap way to get a lot of units from other players,
    # at the cost of reducing the strength of received units for other players.
    # 
    # Receiving workers allows you to build units of other races, but potentially skips large parts of your multiworld progression.
    'false': 50
    'true': 0

  grant_story_tech:
    # Controls handling of no-build missions that may require very specific items, such as Kerrigan or Nova abilities.
    # 
    # no_grant: don't grant anything special; the player must find items to play the missions
    # grant: grant a minimal inventory that will allow the player to beat the mission, in addition to other items found
    # allow_substitutes: Reworks the most constrained mission - Supreme - to allow other items to substitute for Leaping Strike and Mend
    # 
    # Locked to "grant" if Required Tactics is set to no logic.
    no_grant: 50
    grant: 0
    allow_substitutes: 0

  custom_mission_order:
    # Used to generate a custom mission order. Please see documentation to understand usage.
    # Will do nothing unless `mission_order` is set to `custom`.
    Default Campaign:
      Default Layout:
        size: 9
        type: grid
      display_name: 'null'
      entry_rules: []
      global:
        display_name: 'null'
        entry_rules: []
        exit: false
        goal: false
        max_difficulty: relative
        min_difficulty: relative
        mission_pool:
        - all missions
        missions: []
        unique_name: false
        unique_progression_track: 0
      goal: true
      max_difficulty: relative
      min_difficulty: relative
      unique_name: false
      unique_progression_track: 0

  #############
  # Cosmetics #
  #############
  player_color_terran_raynor:
    # Determines in-game player team color in Wings of Liberty missions.
    white: 0
    red: 0
    blue: 0
    teal: 0
    purple: 0
    yellow: 0
    orange: 0
    green: 0
    light_pink: 0
    violet: 0
    light_grey: 0
    dark_green: 0
    brown: 0
    light_green: 0
    dark_grey: 0
    pink: 0
    rainbow: 0
    mengsk: 0
    bright_lime: 0
    arcane: 0
    ember: 0
    hot_pink: 0
    default: 50

  player_color_protoss:
    # Determines in-game player team color in Legacy of the Void missions.
    white: 0
    red: 0
    blue: 0
    teal: 0
    purple: 0
    yellow: 0
    orange: 0
    green: 0
    light_pink: 0
    violet: 0
    light_grey: 0
    dark_green: 0
    brown: 0
    light_green: 0
    dark_grey: 0
    pink: 0
    rainbow: 0
    mengsk: 0
    bright_lime: 0
    arcane: 0
    ember: 0
    hot_pink: 0
    default: 50

  player_color_zerg:
    # Determines in-game player team color in Heart of the Swarm missions before unlocking Primal Kerrigan.
    white: 0
    red: 0
    blue: 0
    teal: 0
    purple: 0
    yellow: 0
    orange: 0
    green: 0
    light_pink: 0
    violet: 0
    light_grey: 0
    dark_green: 0
    brown: 0
    light_green: 0
    dark_grey: 0
    pink: 0
    rainbow: 0
    mengsk: 0
    bright_lime: 0
    arcane: 0
    ember: 0
    hot_pink: 0
    default: 50

  player_color_zerg_primal:
    # Determines in-game player team color in Heart of the Swarm after unlocking Primal Kerrigan.
    white: 0
    red: 0
    blue: 0
    teal: 0
    purple: 0
    yellow: 0
    orange: 0
    green: 0
    light_pink: 0
    violet: 0
    light_grey: 0
    dark_green: 0
    brown: 0
    light_green: 0
    dark_grey: 0
    pink: 0
    rainbow: 0
    mengsk: 0
    bright_lime: 0
    arcane: 0
    ember: 0
    hot_pink: 0
    default: 50

  player_color_nova:
    # Determines in-game player team color in Nova Covert Ops missions.
    white: 0
    red: 0
    blue: 0
    teal: 0
    purple: 0
    yellow: 0
    orange: 0
    green: 0
    light_pink: 0
    violet: 0
    light_grey: 0
    dark_green: 0
    brown: 0
    light_green: 0
    dark_grey: 0
    pink: 0
    rainbow: 0
    mengsk: 0
    bright_lime: 0
    arcane: 0
    ember: 0
    hot_pink: 0
    default: 50

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
